Apparatus and method for high accuracy distance and orientation measurement

ABSTRACT

Described is an machine-readable storage media having instruction stored thereon, that when executed, cause one or more processors to perform an operation comprising: sequentially transmit, in a first mode, at least two first probe request messages in at least two beam steering directions, respectively, towards a device; and receive, from the device, at least two first probe response messages in response to transmitting the at least two first probe request messages.

BACKGROUND

In various sensor applications, such as virtual reality (VR)applications, it is generally accepted that a whole externalinfrastructure exists to support an application to monitor position ordistance between different objects. In such VR applications, there is noconstraint on the extra burden the equipment imposes on the subjects. Assuch, in VR applications, a user may typically be engulfed in heavyequipment and be monitored by other, off-body devices.

As demand for smaller light weight form factors increases, traditionalschemes for accurately measuring distance and orientation of a devicerelative to another device (e.g., within a few centimeters) cannot beused because traditional schemes are heavy, bulky, expensive, notaccurate, slow (i.e., have high latency), and not scalable to smallerform factors.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the disclosure will be understood more fully from thedetailed description given below and from the accompanying drawings ofvarious embodiments of the disclosure, which, however, should not betaken to limit the disclosure to the specific embodiments, but are forexplanation and understanding only.

FIG. 1 illustrates an ensemble of wearable devices including one or moresensor nodes having an apparatus for high accuracy distance andorientation measurement, according to some embodiments of thedisclosure.

FIG. 2 illustrates snap shots of a golf player having sensor nodes, withapparatus for high accuracy distance and orientation measurement, tomeasure various postures of the player as the player gets ready to hitthe ball and then hits it, in accordance with some embodiments of thedisclosure.

FIG. 3 illustrates snap shots of a cricket bowler having sensor nodes,with apparatus for high accuracy distance and orientation measurement,to measure various postures of the cricket bowler as the bowler bowls,in accordance with some embodiments of the disclosure.

FIG. 4 illustrates an apparatus for high accuracy distance andorientation measurement, in accordance with some embodiments of thedisclosure.

FIG. 5 illustrates a flowchart of a method for measuring distance andorientation between two sensor nodes, in accordance with someembodiments of the disclosure.

FIG. 6 illustrates a table or a vector of data for various transmissionphases (or beam steering directions), in accordance with someembodiments of the disclosure.

FIG. 7 illustrates a sensor node with machine readable storage mediumhaving instructions to perform high accuracy distance and orientationmeasurement, according to some embodiments of the disclosure.

FIG. 8 illustrates a smart device or a computer system or a SoC(System-on-Chip) to analyze data received from one or more sensorshaving apparatus and/or machine executable instructions for highaccuracy distance and orientation measurement, according to someembodiments.

DETAILED DESCRIPTION

Constantly measuring and monitoring relative position or distance andorientation between different objects (e.g., body parts, moving objects,etc.) while maintaining high accuracy is challenging. Multipleapplications emerging today may greatly benefit from high accuracy andhigh frequency relative position and orientation measurements betweenmultiple objects within a predefined group. For example, virtual realityapplications (such as gaming or other) could use such capabilities toenable interactive responses to different relative motions between arms,legs, etc. Interactions with smart homes may be greatly enhanced if avariety of motions and gestures are used with a person's arms, such thateach gesture is differentiated from the other by the slightest relativemovements of the arms.

Another example where accurate distance and orientation measurement maybe useful is a Body Sensor Network (BSN). BSN is a wireless network ofwearable computing devices. BSN devices may be embedded inside the bodyas implants or may be surface-mounted on the body in a fixed position.BSN may also include devices which humans can carry in differentpositions. For example, devices that can be carried in clothes, pockets,by hand, or in various bags can be part of BSN. A BSN can be employedfor sports real time training monitoring and feedback. In this example,an athlete using BSN expects immediate and accurate real-time feedbackabout her movements, and in particular about the relative position ofdifferent body parts, so that she may perfect the athletic movement. Twosuch examples are illustrated with reference to FIGS. 2-3.

Some solutions to monitor distance between two objects include a wholeexternal infrastructure to support the applications. Examples of suchexternal infrastructure include sports-training institutions, sportslabs, and virtual reality rooms. In such solutions, a user may typicallybe engulfed in heavy equipment and be monitored by other, off-bodydevices. For on-body, inter-object ranging (i.e., inter-object distanceand orientation measurement), there have been multiple ongoing attemptsto adapt current wireless technologies (e.g., WiFi) to provide accurateranging capabilities (i.e., distance measuring capabilities). But, theseattempts have several drawbacks.

WiFi standards are driving towards providing a high accuracypeer-to-peer ranging method (i.e., distance measuring method). Wi-Fi (orWiFi) is a local area wireless computer networking technology thatallows electronic devices to network, mainly using the 2.4 gigahertz (12cm) Ultra High Frequency (UHF) and 5 gigahertz (6 cm) Super HighFrequency (SHF) Industrial Scientific and Medical (ISM) radio bands. TheWi-Fi Alliance® defines Wi-Fi as any “wireless local area network”(WLAN) product based on the Institute of Electrical and ElectronicsEngineers' (IEEE) 802.11 standards.” In the “WiFi Aware” initiative,also known as Neighbor Area Network (NAN), a WiFi transceiver usesTime-of-Flight (TOF) to calculate its distance from another user device.At a sampling rate of 80 MHz, using straightforward algorithms, anaccuracy of approximately 3 meters can be achieved using the WiFi Awaretechnology. These algorithms for WiFi Aware, however, are not suited fordetermining and monitoring changes to shorter distances (e.g., withincentimeters or less).

Ultrasound (ULS) provides another way of measuring or monitoringdistances between two objects. ULS based algorithms can achieve highaccuracy but ULS needs line-of-sight between two objects. This severelycompromises the usability of such ULS sensors in the applicationsmentioned here, where, for example, two sensors may be strapped to twoarms, each on different sides of a person's body, without line of sight.

Visible Light Communication (VLC) using smart LEDs (Light EmittingDiodes) provides another technique for measuring or monitoring distancesbetween two objects. However, such techniques can attain approximately 1meter of accuracy and need line-of-sight as well, which make it evenless suitable than ULS for these applications.

Global Navigation Satellite System (GNSS) provides another technique formeasuring or monitoring distances between two objects. GNSS is aspace-based satellite navigation system that provides {x, y, z} locationand time information anywhere on or near the earth where there is anunobstructed line-of-sight to four or more GNSS satellites. It canprovide location with accuracy of a few meters, but not centimeters.

In addition, GNSS depends on inputs from satellites, and may not work inindoor applications. Furthermore, even for outdoors, there areconditions in which GNSS does not perform well enough (e.g., deep urbancanyon settings where multiple reflections from buildings can skewresults). The satellite communication adds latency and so theresponsiveness of GNSS is slow (e.g., much larger than 100s ofmilliseconds). Since GNSS is an absolute positioning method (i.e., itreturns the absolute location on earth), it needs to be updated withsatellite location information which requires downloading the ephemeris(i.e., the precise orbit for the satellite) and almanac (i.e., coarseorbit and status information for up to 32 satellites in theconstellation). These download times entail long start up and refreshtimes when coming out of a low power mode.

Even though each transceiver in the GNSS learns its positionindependently, for two objects to infer their relative position, therestill needs to be an accurate and low latency exchange of positioninformation between them. As such, GNSS does not provide low latency(e.g., less than 100s of milliseconds) response for position and timereporting between objects. Also, even if GNSS may be embedded insmartphones, tablets, or laptops, motor vehicles, etc., it is still toolarge, power hungry, and expensive to be integrated in smaller formfactors such as minimalistic wearables.

Radar provides another technique for measuring or monitoring distancesbetween two objects (i.e., ranging between two objects). Radar is anobject-detection system that uses radio waves to determine the range,altitude, direction, or speed of objects. It is commonly used to detectaircraft, ships, spacecraft, guided missiles, and motor vehicles. Theradar antenna transmits pulses of radio waves or microwaves that bounceoff any object in their path. It uses TOF to obtain a distancemeasurement (i.e., transmit a short pulse of radio signal and measurethe time it takes for the reflection to return). The distance isone-half the product of the Round Trip Time (RTT) and the speed of thesignal. Radar can make almost instant speed measurements by using theDoppler effect.

However, radar indiscriminately identifies position and relative speedof any object in the path of the transmitted radio wave pulses. Withreference to the example where distances are to be measured between twobody parts of a person, a radar would get a mapping of every body part,surrounding object, and the background. As such, a high power processormay be needed to analyze the collected data and to filter out thebackground and uninteresting body parts. Also, most radarimplementations are of dimensions that are large and not suitable forwearable form factors.

Various embodiments described here address the drawbacks of traditionalschemes (e.g., VLC, ULS, GNSS, Radar, etc.) for measuring distance andorientation by constantly monitoring the relative position andorientation between different objects (e.g., body parts) whilemaintaining high accuracy. Some embodiments describe a scheme (i.e.,method, apparatus, and/or system) to accurately measure the distancebetween two objects and their relative orientation to each other.

In some embodiments, the attainable accuracy achieved from the scheme isin the order of centimeters or less. In some embodiments, themeasurements performed by the scheme can be done at a very high rate onthe order of every 10s of milliseconds. This allows, for example, anathlete to monitor her relative arm positioning and orientation atfrequent time intervals in order to compare to best known practices andapply corrective actions if necessary. As such, the athlete can trackevery single phase of the movement so that the monitored movements maybe analyzed at all key points in time.

Some embodiments are based on measuring signal TOF in a high-bandwidthand high-frequency wireless technology to obtain the required positionaccuracy. As such, various embodiments provide a cost effective solutionto attain this goal. In some embodiments, each sensor is implemented asa transceiver with a beamforming antenna array. In some embodiments, thebeamforming antenna array is designed to cover an angular range andangular resolution required for the particular application.

Some embodiments provide an apparatus and method which can constantlymonitor the relative position and orientation between different objectswhile maintaining high accuracy (e.g., accurate to the degree of fewcentimeters, so that subtle differences in gesture and motion may beobserved). In some embodiments, the scheme for measuring the distancebetween two objects does not require line-of-sight between the objects.In some embodiments, measurements are frequently made by the apparatusso that the monitored movements may be analyzed at all key points intime.

In some embodiments, the sensor(s) (which includes the apparatus tomeasure the distance and orientation between two objects) is located onthe monitored objects only, without the need for additional externalequipment. As such, the apparatus (or sensors) of the variousembodiments can be placed in a variety of locations and are not limitedto equipment rich venues (e.g. labs, arcades, etc.). In someembodiments, the form factor of such hardware allows for attaching theapparatus to the monitored object (e.g., wearing it) withoutsignificantly burdening the object from its intended motion. Othertechnical effects will be evident from the various embodiments andfigures.

In the following description, numerous details are discussed to providea more thorough explanation of embodiments of the present disclosure. Itwill be apparent, however, to one skilled in the art, that embodimentsof the present disclosure may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form, rather than in detail, in order to avoidobscuring embodiments of the present disclosure.

Note that in the corresponding drawings of the embodiments, signals arerepresented with lines. Some lines may be thicker, to indicate moreconstituent signal paths, and/or have arrows at one or more ends, toindicate primary information flow direction. Such indications are notintended to be limiting. Rather, the lines are used in connection withone or more exemplary embodiments to facilitate easier understanding ofa circuit or a logical unit. Any represented signal, as dictated bydesign needs or preferences, may actually comprise one or more signalsthat may travel in either direction and may be implemented with anysuitable type of signal scheme.

Throughout the specification, and in the claims, the term “connected”means a direct connection, such as electrical, mechanical, or magneticconnection between the things that are connected, without anyintermediary devices. The term “coupled” means a direct or indirectconnection, such as a direct electrical, mechanical, or magneticconnection between the things that are connected or an indirectconnection, through one or more passive or active intermediary devices.The term “circuit” or “module” may refer to one or more passive and/oractive components that are arranged to cooperate with one another toprovide a desired function. The term “signal” may refer to at least onecurrent signal, voltage signal, magnetic signal, or data/clock signal.The meaning of “a,” “an,” and “the” include plural references. Themeaning of “in” includes “in” and “on.”

The terms “substantially,” “close,” “approximately,” “near,” and“about,” generally refer to being within +/−10% (unless otherwisespecified) of a target value. Unless otherwise specified the use of theordinal adjectives “first,” “second,” and “third,” etc., to describe acommon object, merely indicate that different instances of like objectsare being referred to, and are not intended to imply that the objects sodescribed must be in a given sequence, either temporally, spatially, inranking or in any other manner.

For the purposes of the present disclosure, phrases “A and/or B” and “Aor B” mean (A), (B), or (A and B). For the purposes of the presentdisclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B),(A and C), (B and C), or (A, B and C).

The terms “left,” “right,” “front,” “back,” “top,” “bottom,” “over,”“under,” and the like in the description and in the claims, if any, areused for descriptive purposes and not necessarily for describingpermanent relative positions.

For purposes of the embodiments, the transistors in various circuits,modules, and logic blocks are metal oxide semiconductor (MOS)transistors, which include drain, source, gate, and bulk terminals. Thetransistors also include Tri-Gate and FinFET transistors, Gate AllAround Cylindrical Transistors, Tunneling FET (TFET), Square Wire, orRectangular Ribbon Transistors or other devices implementing transistorfunctionality like carbon nano tubes or spintronic devices. MOSFETsymmetrical source and drain terminals i.e., are identical terminals andare interchangeably used here. A TFET device, on the other hand, hasasymmetric Source and Drain terminals. Those skilled in the art willappreciate that other transistors, for example, Bi-polar junctiontransistors—BJT PNP/NPN, BiCMOS, CMOS, etc., may be used withoutdeparting from the scope of the disclosure.

FIG. 1 illustrates ensemble 100 of wearable devices including one ormore sensor nodes having an apparatus for high accuracy distance andorientation measurement, according to some embodiments of thedisclosure. In this example, ensemble 100 is on a person and his/herride (here, a bicycle). However, the embodiments are not limited tosuch. Other scenarios of wearable devices and their usage may work withvarious embodiments.

For example, in some embodiments, sensor nodes can be embedded into someother products (e.g., walls in a house, vehicles, clothes, body of aperson, etc.) and can be controlled using a controller, gateway device,or computing device. The sensor node(s) of some embodiments can also bepart of a wearable device. The term “wearable device” (or wearablecomputing device) generally refers to a device coupled to a person. Forexample, devices (such as sensors, cameras, speakers, microphones (mic),smartphones, smart watches, etc.) which are directly attached on aperson or on the person's clothing are within the scope of wearabledevices.

In some examples, wearable computing devices may be powered by a mainpower supply such as an AC/DC power outlet. In some examples, wearablecomputing devices may be powered by a battery. In some examples,wearable computing devices may be powered by a specialized externalsource based on Near Field Communication (NFC). The specialized externalsource may provide an electromagnetic field that may be harvested bycircuitry at the wearable computing device. Another way to power thewearable computing device is electromagnetic field associated withwireless communication, for example, WLAN transmissions. WLANtransmissions use far field radio communications that have a far greaterrange to power a wearable computing device than NFC transmission. WLANtransmissions are commonly used for wireless communications with mosttypes of terminal computing devices.

For example, the WLAN transmissions may be used in accordance with oneor more WLAN standards based on Carrier Sense Multiple Access withCollision Detection (CSMA/CD) such as those promulgated by the Instituteof Electrical Engineers (IEEE). These WLAN standards may be based onCSMA/CD wireless technologies such as Wi-Fi™ and may include Ethernetwireless standards (including progenies and variants) associated withthe IEEE 802.11-2012 Standard for Informationtechnology—Telecommunications and information exchange betweensystems—Local and metropolitan area networks—Specific requirements Part11: WLAN Media Access Controller (MAC) and Physical Layer (PHY)Specifications, published March 2012, and/or later versions of thisstandard (“IEEE 802.11”).

Continuing with the example of FIG. 1, ensemble 100 of wearable devicesincludes device 101 (e.g., camera, microphone, etc.) on a helmet, device102 (e.g., blood pressure sensor, etc.) on the person's arm, device 103(e.g., a smart watch that can function as a terminal controller or adevice to be controlled), device 104 (e.g., a smart phone and/or tabletin a pocket of the person's clothing), and device 106 (e.g., anaccelerometer to measure paddling speed). In some embodiments, ensemble100 of wearable devices has the capability to communicate by wirelessenergy harvesting mechanisms or other types of wireless transmissionmechanisms.

In some embodiments, devices 102 (on a person's arm) and 106 (on aperson's foot) comprise sensor nodes with apparatus for high accuracydistance and orientation measurement between the two devices. In someembodiments, each device 102/106 is implemented as a transceiver with abeamforming antenna array. In some embodiments, the beamforming antennaarray is designed to cover the angular range and angular resolutionrequired for the particular application.

In some embodiments, device 102 and device 106 measure a physicaldistance by identifying the direct path between the two devices. In someembodiments, beamforming technology is employed by devices 102 and 106which allow the devices to identify a beam steering direction where thedirect path is received, by selecting a beam steering direction with theearliest Time-of-Arrival. The transmission/reception direction of abeamforming antenna array is steered by applying different phases to thesignal fed to each array element. By doing this, the array iseffectively “pointed” at different directions. This effectively providesinformation on the direction from which the direct path is received,thus deriving the relative angle between two transceivers of the twodevices 102/106. Here, the angle is relative to a reference that isfixed in the device frame of reference, e.g., relative to a lineperpendicular to the device screen.

Distance accuracy in TOF measurements may depend on the signal bandwidthand Signal-to-Noise Ratio (SNR). In some embodiments, technologies suchas WiGig, which operates at 60 GHz and uses a 2160 MHz bandwidth, areused by devices 102/106. The WiGig specification (e.g., Version 1.1Released June 2011) allows devices to communicate without wires atmulti-gigabit speeds. It enables high performance wireless data,display, and audio applications that supplement the capabilities ofprevious wireless LAN (Local Area Network) devices.

The symbol rate for WiGig is 1760 Msymbols/sec, which allows for adistance resolution of approximately 20 cm, which is about 10× betterthan the resolution achievable by WiFi technology with 160 MHz channelbandwidth. In some embodiments, the distance resolution for WiGig can befurther perfected (i.e., made finer or smaller than 20 cm) by using afiltering technique (e.g., Kalman filtering). In other embodiments,other high frequency wireless technologies may be used by devices102/106 to measure distance and orientation between the devices. Forexample, IEEE 802.11ad compliant transceivers can be engineered and usedby devices 102/106 to measure accurate distance and orientation betweenthe devices.

Each transceiver of each device 102/106 alternates between sweep andOmni periods, in accordance with some embodiments. In some embodiments,in the sweep period, probe requests are transmitted by the device insweep mode for various transmission phases (i.e., phase inputs to thearray of antennas). For example, probe requests are transmitted by thedevice in sweep mode in various beam steering directions. In someembodiments, in the Omni period, probe responses are detected by thearray of antennas in the Omni mode. In this mode, the array of antennasare configured to perform as an Omni antenna. In some embodiments, adedicated Omni antenna is used during Omni mode instead of configuringthe array of antennas in Omni direction. As such, the array of antennasand the Omni antenna are separate antennas in the respective devices inaccordance with some embodiments.

In some embodiments, devices 102/106 allocate and coordinate periodtimes between each other such that one transceiver of one device is insweep mode while the other transceiver of the other device is in Omnimode. In some embodiments, when there are multiple pairs of devices, andcoordinating period times between the pairs may be difficult, frequencyseparation can be used for multiple pairs of devices to operatesweep/Omni periods. For example, one pair of devices operates in sweepand Omni modes at frequency f1 while another pair of devices operates insweep and Omni modes at frequency f2, where frequency f2 is different orseparate from frequency f1.

The roles of sweep mode and Omni mode are swapped, in accordance withsome embodiments. For example, the device which was first in sweep modenow enters the Omni mode, while the other device which was in Omni modenow enters the sweep mode. In some embodiments, after the sweep and Omniperiods finish in both directions, each transceiver of each devicebuilds a vector of data indicating signal strength and distance versusrelative angle. Here, the relative angle is derived from the beamsteering direction in which the message was received. In someembodiments, the data associated with the vector that provides theshortest distance and highest signal strength is identified as the datawhich determines the accurate measurement of the distance between thetwo devices 102/106.

FIG. 2 illustrates snap shots 200 of a golf player having sensor nodes,with apparatus for high accuracy distance and orientation measurement,to measure various postures of the player as the player gets ready tohit the ball and then hits it, in accordance with some embodiments ofthe disclosure. Here, four snap shots—201, 202, 203, and 204—are shown.In each snap shot, distance ‘d’ and relative angle ‘ω’ is measuredbetween two devices strapped to the golf player.

Here, the device pairs are attached at various positions along the bodyof the player. In this example, a first device pair is located on theshoulder and wrist, a second device pair is located on the two knees,and a third device pair is located at the two angles of the player.Using the various embodiments for accurately measuring distance ‘d’ andrelative angle ‘ω’, da1 and ωa1; da2 and ωa2; da3 and ωa3; and da4 andωa4 are measured for the first device pair over the four motion snapshots—201, 202, 203, and 204, respectively. In some embodiments, db1 andωb1; db2 and ωb2; db3 and ωb3; and db4 and ωb4 are measured for thesecond device pair over the four motion snap shots—201, 202, 203, and204, respectively. In some embodiments, dc1 and ωc1; dc2 and ωc2; dc3and ωc3; and dc4 and ωc4 are measured for the third device pair over thefour motion snap shots—201, 202, 203, and 204, respectively.

In some embodiments, a smart device or computing terminal such as smartdevice 2100 of FIG. 9 can be used to analyze the distance and relativeangle measurements for the various device pairs to gauge the performanceof the player hitting the ball. The data can be used to help the playerfind the effective posture to hit the golf ball for the longestdistance.

FIG. 3 illustrates snap shots 300 of a cricket bowler having sensornodes, with apparatus for high accuracy distance and orientationmeasurement, to measure various postures of the cricket bowler as thebowler bowls, in accordance with some embodiments of the disclosure.FIG. 3 provides another example in which various embodiments are used todetermine a player's motion for another sport.

Here, four snap shots—301, 302, 303, and 304—are shown. In each snapshot, distance ‘d’ and relative angle ‘ω’ are measured between twodevices. The devices pairs are attached at various positions along thebody of the cricket bowler. In this example, a first device pair islocated on the two wrists, and a second device pair is located on thetwo ankles of the cricket bowler.

Using the various embodiments for accurately measuring distance andrelative angle, da1 and ωa1; da2 and ωa2; da3 and ωa3; and da4 and ωa4are measured for the first device pair over the four motion snapshots—301, 302, 303, and 304, respectively. In some embodiments, db1 andωb1; db2 and ωb2; db3 and ωb3; and db4 and ωb4 are measured for thesecond device pair over the four motion snap shots—301, 302, 303, and304, respectively. In some embodiments, the communication between thedevices of the first pair and the second pair are on differentfrequencies. For example, the first device pair operates on frequency f1while the second device pair operates on frequency f2. As such, databetween the pair of devices is not corrupted.

In some embodiments, a smart device or computing terminal such as smartdevice 2100 of FIG. 9 can be used to analyze the distance and relativeangle measurement to gauge the performance of the bowler while bowling.The data can be used to help the bowler find the perfect running rhythmand wrist angle to release the ball to achieve the right ball bounce andpace.

FIG. 4 illustrates apparatus 400 for high accuracy distance andorientation measurement, in accordance with some embodiments of thedisclosure. It is pointed out that those elements of FIG. 4 having thesame reference numbers (or names) as the elements of any other figurecan operate or function in any manner similar to that described, but arenot limited to such. In some embodiments, apparatus 400 comprisesantenna array 401, phase-shifters 402, Receiver/Sensor 403,analog-to-digital converter (ADC) 404, Logic 405, Low Pass Filter 406,Vector/Table 407, Encoder 408, and Transmitter 409. In some embodiments,apparatus 400 includes Omni Antenna 410 to operate in Omni mode.

In some embodiments, antenna array 401 may comprise one or more ofdirectional or omnidirectional antennas 1 through ‘N,’ where ‘N’ is aninteger, including monopole antennas, dipole antennas, loop antennas,patch antennas, microstrip antennas, coplanar wave antennas, or othertypes of antennas suitable for transmission of Radio Frequency (RF)signals. In some multiple-input multiple-output (MIMO) embodiments,antenna array 401 are separated to take advantage of spatial diversity.In some embodiments, Omni Antenna 410 may comprise one or moreomnidirectional antennas 1 through ‘N,’ where ‘N’ is an integer,including monopole antennas, dipole antennas, loop antennas, patchantennas, microstrip antennas, coplanar wave antennas, or other types ofantennas suitable for transmission of RF signals. In some MIMOembodiments, Omni Antenna 410 may have antennas that are separated totake advantage of spatial diversity.

In some embodiments, phase-shifters 402 are provided to tune the phaseof the receiving/transmitting signal. For example, each antenna ofantenna array 401 may be coupled to a corresponding phase-shifter, suchthat phase-shifter 402 coupled to antenna 1 receives phase input on,phase-shifter 402 coupled to antenna 2 receives phase input ω₂, and soon. Any known phase-shifter may be used for phase-shifters 402.

In some embodiments, Receiver/Sensor 403 detects the received signal andamplifies it to generate an analog signal. An analog signal is anycontinuous signal for which the time varying feature (variable) of thesignal is a representation of some other time varying quantity (i.e.,analogous to another time varying signal). In some embodiments,Receiver/Sensor 403 comprises a Low Noise Amplifier (LNA). In someembodiments, Receiver/Sensor 403 includes a sensor to measure a certainattribute of a bodily function (e.g., pulse rate). The output ofReceiver/Sensor 403 is an analog signal. Depending on the application,Receiver/Sensor 403 may sense different attributes. For example,Receiver/Sensor 403 may be placed on a building to sense any earthquake.

In some embodiments, the analog signal is converted into a digitalstream by ADC 404. A digital signal or stream is a physical signal thatis a representation of a sequence of discrete values (i.e., a quantifieddiscrete-time signal), for example of an arbitrary bit stream. Anysuitable ADC may be used to implement ADC 404. For example, ADC 404 isone of: direct-conversion ADC (for flash ADC), successive-approximationADC, ramp-compare ADC, Wilkinson ADC, integrating ADC, delta-encoded ADCor counter-ramp, pipeline ADC (also called subranging quantizer),sigma-delta ADC (also known as a delta-sigma ADC), time-interleaved ADC,ADC with intermediate FM stage, or time-stretch ADC.

In some embodiments, the digital stream is received by Logic 405 andprocessed. In some embodiments, Logic 405 (e.g., a Finite State Machine)is operable to switch the functioning mode of apparatus 400 to one ofSweep mode or Omni mode. In some embodiments, Logic 405 coordinates withanother device the sweep and Omni periods. As such, Logic 405 is awarerelative to the other device when to be in Sweep mode and when to be inOmni mode. In some embodiments, after establishing the roles of the twodevices (i.e., whether to be in Sweep mode or Omni mode, and theirrespective periods), Logic 405 begins the process of gathering data todetermine the distance and orientation of apparatus 400 relative to theother device. In some embodiments, when there are multiple pairs ofdevices, and coordinating period times between the devices may bedifficult, frequency separation can be used by Logic 405 for multiplepair of devices to operate Sweep/Omni periods.

In some embodiments, during Sweep mode, Logic 405 instructs Transmitter409 to transmit a probe request message via antenna array 401 in eacharray direction (i.e., in each beam steering direction). In someembodiments, the array direction (and hence the beam steering direction)is changed on every attempt of transmitting probe request message. Forexample, the array direction is modified by changing the phase input ‘ω’to antenna array 401.

In some embodiments, each probe request message includes an encoding ofthe array direction. In some embodiments, this encoding of the arraydirection is performed by Encoder 408. Any known encoding scheme can beused for encoding the array direction. For example, each array directionfor beam steering may be assigned a number and that number is encoded inthe probe request message with the same modulation and coding schemeused by the underlying wireless technology (e.g., WiGig/802.11ad).

In some embodiments, the start time (Tst) of transmitting the proberequest message is recorded in Vector/Table 407 by Logic 405. In someembodiments, the physical angle of the beam steering direction in use isrecorded in Vector/Table 407 by Logic 405. For example, azimuth andelevation angles (for representing a three dimensional angle) associatedwith the probe request message are recorded in Vector/Table 407 by Logic405 with respect to a fixed reference. In some embodiments, Vector/Table407 is stored in a non-volatile memory (e.g., NAND flash memory). Onesuch embodiment of Vector/Table 407 is illustrated with reference toFIG. 6.

Referring back to FIG. 4, in some embodiments, when a probe requestmessage is received by the other device, the other device decodes theprobe request message and sends a probe response message including proberequest reception time (Tor) and probe response transmission time (Tot).In some embodiments, Receiver/Sensor 403 receives the Tor and Tot ofeach probe response message, and Logic 405 stores that data inVector/Table 407. In some embodiments, this data in Vector/Table 407 iscorrectly associated with the start time Tst of the probe requestmessage (that resulted in the corresponding probe response message). Insome embodiments, signal strength of the received signal (i.e., of theprobe response message) is also calculated (by any known methods) andstored in Vector/Table 407. As such, for each probe request message sentand probe response message received, Logic 405 populates Vector/Table407 with data such as: physical angle(s), Tst, Tor, Tot, signalstrength, time-of-flight (TOF), etc.

In some embodiments, after Sweep mode completes (e.g., after sendingprobe request messages sequentially for every phase angle or every beamsteering direction), Logic 405 transitions apparatus 400 to Omni mode.In this case, the other device communicating with apparatus 400 switchesfrom Omni mode to Sweep mode. In some embodiments, when Logic 405 entersOmni mode, Logic 405 instructs antenna array 401 to operate in theOmni-direction. In some embodiments, Logic 405 instructs antenna array401 and Receiver/Sensor 403 to listen for probe request messages sentfrom the other device.

In some embodiments, Omni Antenna 410 is provided for use during Omnimode. In some embodiments, when Logic 405 enters Omni mode, Logic 405begins to receive data from Omni Antenna 410 which operates in theOmni-direction. In some embodiments, Logic 405 instructs Receiver/Sensor403 to listen for probe request messages sent from the other deviceusing Omni Antenna 410. In one such embodiment, the other device isoperating in Sweep mode and is transmitting probe request messages toapparatus 400 so that the other device can determine its distance andorientation relative to apparatus 400.

In some embodiments, after Receiver/Sensor 403 receives the proberequest message, Logic 405 calculates the signal strength for themessages. It also responds to each correctly decoded probe requestmessage with a probe response message including probe request receptiontime and probe response transmission time. In some embodiments, duringthe time Receiver/Sensor 403 receives probe response messages, Logic 405in the sweep period calculates the TOF for the probe messages, and usesthis time to calculate the distance traveled by the signal.

Due to signal multipath reflection and diffraction, the probe signaltransmitted by the other transceiver is likely to be correctly decodedin multiple array directions of antenna array 401, in accordance withsome embodiments. To correctly derive the relative angle between thespecific transceiver pairs (i.e., apparatus 400 and the other device),angles with longer propagation distances are identified fromVector/Table 407 as multipath reflections and therefore identified asnot relevant for relative angle and distance determination. From theremaining relative angles in Vector/Table 407, the one with thestrongest signal strength is determined by Logic 405 to represent theaccurate relative angle and distance between the transceiver pair.

In some embodiments, Logic 405 repeats the above procedure periodicallyto track changes in distance and relative angle. In some embodiments,the period of repeating the Sweep and Omni modes is selected by Logic405 such that the maximum expected location change between the twoprocedures or modes is lower than the required accuracy. For example, ifthe maximum angular speed expected in the application is 100°/sec, and aresolution of 2° is required, the period is set to be at the most 20msec.

In some embodiments, the end result of the process (i.e., distance andrelative angle), is stored as a function of time. For example, apparatus400 may display distance readings (e.g., 23 cm, 24 cm, 89 cm, 22 cm) atpredefined or programmable intervals (e.g., 100 ms intervals). Analgorithm (e.g., a low pass filter) may notice that the larger distance(89 cm in this example) is an outlier and so an error. This outlier datais discarded and replaced by an interpolation of the neighboringsamples, in accordance with some embodiments.

In some embodiments, the results are processed by Low Pass Filter (LPF)406 to discard spurious changes in measured distance and relative anglethat are not related to physical changes in transceiver location. Insome embodiments, the cutoff frequency of LPF 406 is calibratedaccording to the expected physical transceiver velocity. For example,the cutoff frequency of LPF 406 is calibrated to be such that changesabove 50 KHz are discarded (this may be relevant when the period is setto a value lower than 20 msec).

Transmitter 409 may use any known high frequency transmitting scheme. Insome embodiments, to minimize propagation diffraction impact on therelative angle calculation, high frequency transceivers are used. Insome embodiments, Transmitter 409 is compliant with WiGig transmissionstandard (i.e., IEEE 802.11 ad transmitting standard). The highfrequency transmission capability also enables building antenna arrayswith total side of a few centimeters, and yet with fine angularresolution, in accordance with some embodiments.

In some embodiments, Transmitter 409 uses WLAN transmissions inaccordance with one or more WLAN standards based on CSMA/CD such asthose promulgated by the IEEE. In some embodiments, Transmitter 409 mayuse Long Term Evolution (LTE) compliant transmission mechanisms.

Any suitable low power transmitter may be used for implementingTransmitter 409 (e.g., a transmitter having low power amplifier driver).In some embodiments, Transmitter 409 converts the encoded probe requestand/or probe response messages to an analog radio frequency (RF) signalwhich is then transmitted by antenna array 401 to the other device. Inother embodiments, other forms of wireless transmissions may be used byTransmitter 409.

In some embodiments, Transmitter 409 includes a digital-to-analogconverter (DAC) (not shown) to convert the encoded probe request and/orprobe response messages into analog signal for transmission. In someembodiments, the DAC is a pulse-width modulator (PWM). In someembodiments, the DAC is an oversampling DAC or interpolating DAC such assigma-delta DAC. In other embodiments, other types of DACs may be used.For example, the DAC of Transmitter 409 is one of switched resistor DAC,switched current source DAC, switched capacitor DAC, R-2R binaryweighted DAC, Successive-Approximation or Cyclic DAC, thermometer-codedDAC, etc. The output the DAC is an analog signal which is amplified andthen transmitted to antenna array 401 to the other device(s), accordingto some embodiments.

In applications that use multiple sensor pairs, each sensor pair can beconfigured to operate in different frequency channels to allowsimultaneous operation, in accordance with some embodiments.Alternatively, in some embodiments, time-sharing can be coordinatedbetween the sensor pairs operating in the same frequency channel. Inapplications that use relative positioning between more than twosensors, the process of Sweep and Omni modes can be repeated betweeneach pair in the sensor group, in accordance with some embodiments. Assuch, Sweep and Omni periods are coordinated for every pair in thegroup, in accordance with some embodiments.

FIG. 5 illustrates flowchart 500 of a method for measuring distance andorientation between two sensor nodes, in accordance with someembodiments of the disclosure. It is pointed out that those elements ofFIG. 5 having the same reference numbers (or names) as the elements ofany other figure can operate or function in any manner similar to thatdescribed, but are not limited to such.

Although the blocks in the flowchart with reference to FIG. 5 are shownin a particular order, the order of the actions can be modified. Thus,the illustrated embodiments can be performed in a different order, andsome actions/blocks may be performed in parallel. Some of the blocksand/or operations listed in FIG. 5 are optional in accordance withcertain embodiments. The numbering of the blocks presented is for thesake of clarity and is not intended to prescribe an order of operationsin which the various blocks must occur. Additionally, operations fromthe various flows may be utilized in a variety of combinations.

Flowchart 500 illustrates the process performed by Sensor A 501 (e.g.,apparatus 400) and Sensor B 502 (i.e., the other device) during Sweepand Omni modes. Initially, Sensor A 501 and Sensor B 502 coordinateSweep and Omni periods with one another. For example, Sensor A 501 andSensor B 502 allocates a certain period of time for transmission suchthat during one period Sensor A 501 is in Sweep mode and Sensor B 502 isin Omni mode, and in another period Sensor A 501 is in Omni mode andSensor B 502 is in Sweep mode.

In some embodiments, when a user having Sensor A 501 is not moving for atime duration (e.g., a threshold duration of 1 minute), then Sensor A501 can slow down the frequency or increase the period of operating inSweep and Omni modes. As such, power can be saved.

In some embodiments, sudden movements out of stillness may be tracked bySensor A 501 relative to Sensor B 502. In some embodiments, a higherlayer logic, that understands what state (e.g., in a sports movement)the user is in, can reconfigure the period of operating in Sweep andOmni modes accordingly. For example in the golf example of FIG. 2, whenthe player is pulling the club back over his head, this can beidentified by an application (or higher layer logic) and the period ofoperating in Sweep and Omni modes may be lowered (i.e., fewer Sweep andOmni modes) by Logic 405. Continuing with the same example, once theclub reaches its apex, the period of operating in Sweep and Omni modesis increased (i.e., more Sweep and Omni modes) by Logic 405 since theswing itself is expected to be very rapid and every small nuance in theswing is desired to be monitored.

In some embodiments, when the user having Sensor A 501 is constantlymoving (e.g., moving every 1 ms), then Logic 405 of Sensor A 501 cancoordinate with Logic 405 of Sensor B 502 to operate Sweep and Omnimodes at higher regularities (e.g., constantly).

Here, Sensor A 501 first operates in Sweep Mode 503 (also referred to asthe First mode of Sensor A 501) while Sensor B 502 first operates inOmni Mode 504 (also referred to as the First mode of Sensor B 502). InSweep Mode 503, Sensor A first transmits at time Tst1 a first proberequest message 505 (i.e., beam 1) towards Sensor B 502. In someembodiments, Sensor B 502 uses Omni-directional antenna 410 to listenfor first probe request message 505. In some embodiments, first proberequest message 505 includes encoding of the array direction of Sensor A501.

At time Tor1, Sensor B 502 receives the first probe request message 505.Sensor B 502 then decodes the encoded first probe request message 505and transmits a probe response message 506 for Sensor A 501. In someembodiments, first probe response message 506 includes probe requestreception time Tor1 and probe response transmission time Tr1. At timeTsr1, Sensor A 501 receives probe response message 506. In someembodiments, probe response message 506 is also encoded and/orencrypted. In some embodiments, Sensor A 501 decodes and/or decrypts theencoded and/or encrypted probe response message.

In some embodiments, Tst1, Tsr1, Tor1, Tot1, receive signal strength,and physical angle are saved in Vector/Table 407. When receiving theprobe response message, Sensor A 501 in the sweep period calculates theTOF for the probe messages, and uses this time to calculate the distancetraveled by the signal. In some embodiments, Logic 405 computes firstTOF (i.e., TOF1) as: (Tsr1−Tsr1)−(Tot1−Tor1). In some embodiments, Sweepmode 503 is repeated ‘N’ times for all beams of antenna array 401 (i.e.,all phase angles ‘ω’ resulting in all beam steering directions), where‘N’ is an integer greater than one. As such, Vector/Table 407 ispopulated with distance measurements (from TOF information) for variousphysical angles.

Next, at 508, Sensor A 501 and Sensor B 502 invert Sweep and Omni sides(i.e., exchange their roles) such that Sensor A 501 operates in Omnimode 509 (also referred to as the Second mode of Sensor A 501) andSensor B 502 operates in Sweep mode (also referred to as the Second modeof Sensor B 502). The process described with reference to processes 503,504, 505, 506, and 507 are repeated where Sensor A 501 is in Omni mode409 and Sensor B 502 is in Sweep mode 510.

As such, Vector/Table 407 for Sensor B 502 is populated with times Tst1,Tsr1, Tor1, and Tot1, receive signal strength, phase angle, and distancemeasurements (from TOF information) for various beam steeringdirections. After the Sweep and Omni periods finish in both directions,each Sensor builds a vector of signal strength and distance versusrelative angle, in accordance with some embodiments.

FIG. 6 illustrates table (e.g., Vector/Table 407) or vector data 600 forvarious transmission phases or beam steering directions, in accordancewith some embodiments of the disclosure. It is pointed out that thoseelements of FIG. 6 having the same reference numbers (or names) as theelements of any other figure can operate or function in any mannersimilar to that described, but are not limited to such. Table 600 showsthe data collected, calculated, and measured during Sweep modes. In thisexample, Table 600 includes data for beam steering directions (e.g., 1,2, 3, 4 . . . N, where ‘N’ is an integer), TOF in nanoseconds (ns),calculated distance in centimeters (cm), physical angle(s) in degrees(e.g., azimuth and elevation), and strength of signal in decibels (dBmi.e., decibel-milliwatt). Here, TOF is related to the calculateddistance as 2*distance=TOF*c, where ‘c’ is the speed of light.

Due to signal multipath reflection and diffraction, a probe signaltransmitted by another transceiver is likely to be correctly decoded inmultiple beam steering directions. To correctly derive the relativeangle between the specific transceiver or sensor pair, beam steeringdirections with longer propagation distances are identified as multipathreflections and therefore not relevant for relative angle and distancedetermination, in accordance with some embodiments. From the remainingdata, for example, the one with the strongest signal strength isdetermined to represent the accurate relative angle and distance betweenthe transceiver pair.

In this example, even though beam steering direction 3 gives a shorterTOF and distance, its signal strength (−90 dBm) is weaker than thesignal strength (−85 dBm) for the case with beam steering direction 4.As such, the tie breaking rule would choose 0.82 over 0.8 on thestrength of having higher signal strength and similar distance (i.e.,dotted row 601 is selected).

FIG. 7 illustrates sensor node 700 with machine readable storage mediumhaving instructions to perform high accuracy distance and orientationmeasurement, according to some embodiments of the disclosure. It ispointed out that those elements of FIG. 7 having the same referencenumbers (or names) as the elements of any other figure can operate orfunction in any manner similar to that described, but are not limited tosuch.

In some embodiments, sensor node 700/400 comprises a low power Processor701 (e.g., a Digital Signal Processor (DSP), an Application SpecificIntegrated Circuit (ASCI), a general purpose Central Processing Unit(CPU), or a low power logic implementing a simple finite state machineto perform the method of flowchart 500, etc.), Machine-Readable StorageMedium 702 (also referred to as tangible machine readable medium),Antenna 705 (e.g., antenna array 401 and Omni Antenna 410), Network Bus706, Sensor(s) 707 (e.g., gyroscope, accelerometer, etc.), and WirelessModule 708 (e.g., WiFig compliant logic).

In some embodiments, the various logic blocks of sensor node 700 arecoupled together via Network Bus 706. Any suitable protocol may be usedto implement Network Bus 706. In some embodiments, Machine-ReadableStorage Medium 702 includes Instructions 702 a (also referred to as theprogram software code/instructions) for calculating or measuringdistance and relative orientation of a device with reference to anotherdevice as described with reference to various embodiments and flowchart.

Program software code/instructions 702 a associated with flowchart 500and executed to implement embodiments of the disclosed subject mattermay be implemented as part of an operating system or a specificapplication, component, program, object, module, routine, or othersequence of instructions or organization of sequences of instructionsreferred to as “program software code/instructions,” “operating systemprogram software code/instructions,” “application program softwarecode/instructions,” or simply “software” or firmware embedded inprocessor. In some embodiments, the program software code/instructionsassociated with flowchart 500 are executed by sensor node 700 (such asshown in FIG. 4).

Referring back to FIG. 7, in some embodiments, the program softwarecode/instructions 702 a associated with flowchart 500 are stored in acomputer executable storage medium 702 and executed by Processor 701.Here, computer executable storage medium 702 is a tangible machinereadable medium that can be used to store program softwarecode/instructions and data that, when executed by a computing device,causes one or more processors (e.g., Processor 701) to perform amethod(s) as may be recited in one or more accompanying claims directedto the disclosed subject matter.

The tangible machine readable medium 702 may include storage of theexecutable software program code/instructions 702 a and data in varioustangible locations, including for example ROM, volatile RAM,non-volatile memory and/or cache and/or other tangible memory asreferenced in the present application. Portions of this program softwarecode/instructions 702 a and/or data may be stored in any one of thesestorage and memory devices. Further, the program softwarecode/instructions can be obtained from other storage, including, e.g.,through centralized servers or peer to peer networks and the like,including the Internet. Different portions of the software programcode/instructions and data can be obtained at different times and indifferent communication sessions or in the same communication session.

The software program code/instructions 702 a (associated with flowchart500 and other embodiments) and data can be obtained in their entiretyprior to the execution of a respective software program or applicationby the computing device. Alternatively, portions of the software programcode/instructions 702 a and data can be obtained dynamically, e.g., justin time, when needed for execution. Alternatively, some combination ofthese ways of obtaining the software program code/instructions 702 a anddata may occur, e.g., for different applications, components, programs,objects, modules, routines or other sequences of instructions ororganization of sequences of instructions, by way of example. Thus, itis not required that the data and instructions be on a tangible machinereadable medium in entirety at a particular instance of time.

Examples of tangible computer-readable media 702 include but are notlimited to recordable and non-recordable type media such as volatile andnon-volatile memory devices, read only memory (ROM), random accessmemory (RAM), flash memory devices, floppy and other removable disks,magnetic storage media, optical storage media (e.g., Compact DiskRead-Only Memory (CD ROMS), Digital Versatile Disks (DVDs), etc.), amongothers. The software program code/instructions may be temporarily storedin digital tangible communication links while implementing electrical,optical, acoustical or other forms of propagating signals, such ascarrier waves, infrared signals, digital signals, etc. through suchtangible communication links.

In general, tangible machine readable medium 702 includes any tangiblemechanism that provides (i.e., stores and/or transmits in digital form,e.g., data packets) information in a form accessible by a machine (i.e.,a computing device), which may be included, e.g., in a communicationdevice, a computing device, a network device, a personal digitalassistant, a manufacturing tool, a mobile communication device, whetheror not able to download and run applications and subsidized applicationsfrom the communication network, such as the Internet, e.g., an iPhone®,Galaxy®, Blackberry® Droid®, or the like, or any other device includinga computing device. In one embodiment, processor-based system is in aform of or included within a PDA (personal digital assistant), acellular phone, a notebook computer, a tablet, a game console, a set topbox, an embedded system, a TV (television), a personal desktop computer,etc. Alternatively, the traditional communication applications andsubsidized application(s) may be used in some embodiments of thedisclosed subject matter.

FIG. 8 illustrates a smart device or a computer system or a SoC(System-on-Chip) to analyze data received from one or more sensorshaving apparatus and/or machine executable instructions for highaccuracy distance and orientation measurement, according to someembodiments. It is pointed out that those elements of FIG. 8 having thesame reference numbers (or names) as the elements of any other figurecan operate or function in any manner similar to that described, but arenot limited to such.

FIG. 8 illustrates a block diagram of an embodiment of a mobile devicein which flat surface interface connectors could be used. In someembodiments, computing device 2100 represents a mobile computing device,such as a computing tablet, a mobile phone or smart-phone, awireless-enabled e-reader, or other wireless mobile device. It will beunderstood that certain components are shown generally, and not allcomponents of such a device are shown in computing device 2100.

In some embodiments, computing device 2100 includes a first processor2110 to analyze data received from one or more sensors having apparatusand/or machine executable instructions for high accuracy distance andorientation measurement, according to some embodiments discussed. Insome embodiments, computing device 2100 receives the data stored inVector/Table 407 and performs various analysis on the data. For example,computing device 2100 can analyze the data collected over a long periodof time (e.g., days) and determine historical and statistical analysisof the collected data.

Other blocks of the computing device 2100 may also analyze data receivedfrom one or more sensors having apparatus and/or machine executableinstructions for high accuracy distance and orientation measurement,according to some embodiments. The various embodiments of the presentdisclosure may also comprise a network interface within 2170 such as awireless interface so that a system embodiment may be incorporated intoa wireless device, for example, cell phone or personal digitalassistant.

In one embodiment, processor 2110 (and/or processor 2190) can includeone or more physical devices, such as microprocessors, applicationprocessors, microcontrollers, programmable logic devices, or otherprocessing means. The processing operations performed by processor 2110include the execution of an operating platform or operating system onwhich applications and/or device functions are executed. The processingoperations include operations related to I/O (input/output) with a humanuser or with other devices, operations related to power management,and/or operations related to connecting the computing device 2100 toanother device. The processing operations may also include operationsrelated to audio I/O and/or display I/O.

In one embodiment, computing device 2100 includes audio subsystem 2120,which represents hardware (e.g., audio hardware and audio circuits) andsoftware (e.g., drivers, codecs) components associated with providingaudio functions to the computing device. Audio functions can includespeaker and/or headphone output, as well as microphone input. Devicesfor such functions can be integrated into computing device 2100, orconnected to the computing device 2100. In one embodiment, a userinteracts with the computing device 2100 by providing audio commandsthat are received and processed by processor 2110.

Display subsystem 2130 represents hardware (e.g., display devices) andsoftware (e.g., drivers) components that provide a visual and/or tactiledisplay for a user to interact with the computing device 2100. Displaysubsystem 2130 includes display interface 2132, which includes theparticular screen or hardware device used to provide a display to auser. In one embodiment, display interface 2132 includes logic separatefrom processor 2110 to perform at least some processing related to thedisplay. In one embodiment, display subsystem 2130 includes a touchscreen (or touch pad) device that provides both output and input to auser.

I/O controller 2140 represents hardware devices and software componentsrelated to interaction with a user. I/O controller 2140 is operable tomanage hardware that is part of audio subsystem 2120 and/or displaysubsystem 2130. Additionally, I/O controller 2140 illustrates aconnection point for additional devices that connect to computing device2100 through which a user might interact with the system. For example,devices that can be attached to the computing device 2100 might includemicrophone devices, speaker or stereo systems, video systems or otherdisplay devices, keyboard or keypad devices, or other I/O devices foruse with specific applications such as card readers or other devices.

As mentioned above, I/O controller 2140 can interact with audiosubsystem 2120 and/or display subsystem 2130. For example, input througha microphone or other audio device can provide input or commands for oneor more applications or functions of the computing device 2100.Additionally, audio output can be provided instead of, or in addition todisplay output. In another example, if display subsystem 2130 includes atouch screen, the display device also acts as an input device, which canbe at least partially managed by I/O controller 2140. There can also beadditional buttons or switches on the computing device 2100 to provideI/O functions managed by I/O controller 2140.

In one embodiment, I/O controller 2140 manages devices such asaccelerometers, cameras, light sensors or other environmental sensors,or other hardware that can be included in the computing device 2100. Theinput can be part of direct user interaction, as well as providingenvironmental input to the system to influence its operations (such asfiltering for noise, adjusting displays for brightness detection,applying a flash for a camera, or other features).

In one embodiment, computing device 2100 includes power management 2150that manages battery power usage, charging of the battery, and featuresrelated to power saving operation. Memory subsystem 2160 includes memorydevices for storing information in computing device 2100. Memory caninclude nonvolatile (state does not change if power to the memory deviceis interrupted) and/or volatile (state is indeterminate if power to thememory device is interrupted) memory devices. Memory subsystem 2160 canstore application data, user data, music, photos, documents, or otherdata, as well as system data (whether long-term or temporary) related tothe execution of the applications and functions of the computing device2100.

Elements of embodiments are also provided as a machine-readable medium(e.g., memory 2160) for storing the computer-executable instructions(e.g., instructions to implement any other processes discussed herein).The machine-readable medium (e.g., memory 2160) may include, but is notlimited to, flash memory, optical disks, CD-ROMs, DVD ROMs, RAMs,EPROMs, EEPROMs, magnetic or optical cards, phase change memory (PCM),or other types of machine-readable media suitable for storing electronicor computer-executable instructions. For example, embodiments of thedisclosure may be downloaded as a computer program (e.g., BIOS) whichmay be transferred from a remote computer (e.g., a server) to arequesting computer (e.g., a client) by way of data signals via acommunication link (e.g., a modem or network connection).

Connectivity 2170 includes hardware devices (e.g., wireless and/or wiredconnectors and communication hardware) and software components (e.g.,drivers, protocol stacks) to enable the computing device 2100 tocommunicate with external devices. The computing device 2100 could beseparate devices, such as other computing devices, wireless accesspoints or base stations, as well as peripherals such as headsets,printers, or other devices.

Connectivity 2170 can include multiple different types of connectivity.To generalize, the computing device 2100 is illustrated with cellularconnectivity 2172 and wireless connectivity 2174. Cellular connectivity2172 refers generally to cellular network connectivity provided bywireless carriers, such as provided via GSM (global system for mobilecommunications) or variations or derivatives, CDMA (code divisionmultiple access) or variations or derivatives, TDM (time divisionmultiplexing) or variations or derivatives, or other cellular servicestandards. Wireless connectivity (or wireless interface) 2174 refers towireless connectivity that is not cellular, and can include personalarea networks (such as Bluetooth, Near Field, etc.), local area networks(such as Wi-Fi), and/or wide area networks (such as WiMax), or otherwireless communication.

In some embodiments, Peripheral connections 2180 include hardwareinterfaces and connectors, as well as software components (e.g.,drivers, protocol stacks) to make peripheral connections. It will beunderstood that the computing device 2100 could be a peripheral device(“to” 2182) to other computing devices, as well as have peripheraldevices (“from” 2184) connected to it. The computing device 2100commonly has a “docking” connector to connect to other computing devicesfor purposes such as managing (e.g., downloading and/or uploading,changing, synchronizing) content on computing device 2100. Additionally,a docking connector can allow computing device 2100 to connect tocertain peripherals that allow the computing device 2100 to controlcontent output, for example, to audiovisual or other systems.

In addition to a proprietary docking connector or other proprietaryconnection hardware, the computing device 2100 can make peripheralconnections 2180 via common or standards-based connectors. Common typescan include a Universal Serial Bus (USB) connector (which can includeany of a number of different hardware interfaces), DisplayPort includingMiniDisplayPort (MDP), High Definition Multimedia Interface (HDMI),Firewire, or other types.

Reference in the specification to “an embodiment,” “one embodiment,”“some embodiments,” or “other embodiments” means that a particularfeature, structure, or characteristic described in connection with theembodiments is included in at least some embodiments, but notnecessarily all embodiments. The various appearances of “an embodiment,”“one embodiment,” or “some embodiments” are not necessarily allreferring to the same embodiments. If the specification states acomponent, feature, structure, or characteristic “may,” “might,” or“could” be included, that particular component, feature, structure, orcharacteristic is not required to be included. If the specification orclaim refers to “a” or “an” element, that does not mean there is onlyone of the elements. If the specification or claims refer to “anadditional” element, that does not preclude there being more than one ofthe additional element.

Furthermore, the particular features, structures, functions, orcharacteristics may be combined in any suitable manner in one or moreembodiments. For example, a first embodiment may be combined with asecond embodiment anywhere the particular features, structures,functions, or characteristics associated with the two embodiments arenot mutually exclusive.

While the disclosure has been described in conjunction with specificembodiments thereof, many alternatives, modifications and variations ofsuch embodiments will be apparent to those of ordinary skill in the artin light of the foregoing description. The embodiments of the disclosureare intended to embrace all such alternatives, modifications, andvariations as to fall within the broad scope of the appended claims.

In addition, well known power/ground connections to integrated circuit(IC) chips and other components may or may not be shown within thepresented figures, for simplicity of illustration and discussion, and soas not to obscure the disclosure. Further, arrangements may be shown inblock diagram form in order to avoid obscuring the disclosure, and alsoin view of the fact that specifics with respect to implementation ofsuch block diagram arrangements are highly dependent upon the platformwithin which the present disclosure is to be implemented (i.e., suchspecifics should be well within purview of one skilled in the art).Where specific details (e.g., circuits) are set forth in order todescribe example embodiments of the disclosure, it should be apparent toone skilled in the art that the disclosure can be practiced without, orwith variation of, these specific details. The description is thus to beregarded as illustrative instead of limiting.

The following examples pertain to further embodiments. Specifics in theexamples may be used anywhere in one or more embodiments. All optionalfeatures of the apparatus described herein may also be implemented withrespect to a method or process.

For example, a machine-readable storage media is provided havinginstructions stored thereon, that when executed, cause one or moreprocessors to perform an operation comprising: sequentially transmit, ina first mode, at least two first probe request messages in at least twobeam steering directions, respectively, towards a device; and receive,from the device, at least two first probe response messages in responseto transmitting the at least two first probe request messages. In someembodiments, the machine-readable storage media has further instructionsstored thereon, that when executed, cause the one or more processors toperform a further operation comprising: determine time-of-flights (TOFs)for the at least two first probe response messages; and calculatedistances traveled by the at least two first probe response messages.

In some embodiments, the machine-readable storage media has furtherinstructions stored thereon, that when executed, cause the one or moreprocessors to perform a further operation comprising: listen, during asecond mode, for at least two second probe request messages from thedevice; and calculate signal strengths of each of the at least twosecond probe request messages transmitted from the device. In someembodiments, the machine-readable storage media has further instructionsstored thereon, that when executed, cause the one or more processors toperform a further operation comprising: generate a vector of signalstrengths, distances, and angles for the at least two beam steeringdirections according to the calculated signal strengths and calculateddistances.

In some embodiments, the machine-readable storage media has furtherinstructions stored thereon, that when executed, cause the one or moreprocessors to perform a further operation comprising: discarding, fromthe vector, data associated with the beam steering directions withlongest calculated distances. In some embodiments, the machine-readablestorage media has further instructions stored thereon, that whenexecuted, cause the one or more processors to perform a furtheroperation comprising: identify, from the vector, the angle with thestrongest signal strength; and determine a distance from the deviceaccording to the identified angle. In some embodiments, themachine-readable storage media has further instructions stored thereon,that when executed, cause the one or more processors to perform afurther operation comprising: provide the determined distance to aterminal device.

In some embodiments, each of the at least two first and second proberesponse messages includes: a probe request reception time; and a proberesponse transmission time. In some embodiments, each of the at leasttwo first probe request messages includes an encoding of a beam steeringdirection. In some embodiments, the machine-readable storage media hasfurther instructions stored thereon, that when executed, cause the oneor more processors to perform a further operation comprising: encode theat least two first probe request messages prior to transmitting.

In another example, an apparatus is provided which comprises: an arrayof antennas which is operable to sequentially transmit, in a first mode,first probe request messages in a number of beam steering directions toa device, wherein each first probe request message includes an encodingof corresponding beam steering direction from the number of beamsteering directions, an Omni-antenna to listen, in a second mode, for asecond probe request messages transmitted by the device; a receiver toreceive at least two first probe response messages in response tosequentially transmitting the at least two first probe request messages;and logic to generate a vector of signal strengths, distances, andangles for each beam steering direction according to information in theat least two first probe response messages and the first and secondprobe request messages.

In some embodiments, the apparatus comprises: an encoder to encode thebeam steering direction. In some embodiments, the logic is operable to:determine time-of-flights (TOFs) for the at least two first proberesponse messages; and calculate distances traveled by the at least twofirst probe response messages. In some embodiments, the apparatuscomprises logic to change phase input to the array of antennas to changethe beam steering direction. In some embodiments, each of the at leasttwo first and second probe response messages includes: a probe requestreception time; and a probe response transmission time. In someembodiments, the first and second probe response messages are WirelessGigabit Alliance (WiGig) compliant messages.

In another example, a system is provided which comprises: a firstsensor; and a second sensor, wherein the second sensor includes: anarray of antennas which is operable to sequentially transmit, in a firstmode, first probe request messages in each array direction to a device,wherein each of the first probe request messages includes an encoding ofa corresponding array direction, an Omni-antenna to listen, in a secondmode, for a second probe request messages transmitted by the device; areceiver to receive at least two first probe response messages inresponse to sequentially transmitting the at least two first proberequest messages; and logic to generate a vector of signal strengths,distances, and angles between the second sensor and the device accordingto information in the at least two first probe response messages and thefirst and second probe request messages, wherein the array of antennasand Omni-antenna of the first sensor operate in a different frequencychannel than array of antennas and Omni-antenna of the second sensor.

In some embodiments, the first sensor includes: an array of antennaswhich is operable to sequentially transmit, in a first mode, first proberequest messages in each array direction to the other device, whereineach of the first probe request messages includes an encoding of acorresponding array direction, and an Omni-antenna to listen, in asecond mode, second probe request messages transmitted by the otherdevice; a receiver to receive at least two first probe response messagesin response to sequentially transmitting the at least two first proberequest messages; and logic to generate the vector of signal strengths,distances, and angles between the first sensor and the other deviceaccording to information in the at least two first probe responsemessages and the first and second probe request messages. In someembodiments, the first and second sensors are configured in a singlewearable device. In some embodiments, the first and second sensorsoperate using Wireless Gigabit Alliance (WiGig) technology.

In another example, a method is provided which comprises: sequentiallytransmitting, in a first mode, at least two first probe request messagesin at least two beam steering directions, respectively, towards adevice; and receiving, from the device, at least two first proberesponse messages in response to transmitting the at least two firstprobe request messages. In some embodiments, the method comprises:determining time-of-flights (TOFs) for the at least two first proberesponse messages; and calculating distances traveled by the at leasttwo first probe response messages.

In some embodiments, the method comprises: listening, during a secondmode, for at least two second probe request messages from the device;and calculating signal strengths of each of the at least two secondprobe request messages transmitted from the device. In some embodiments,the method comprises: generating a vector of signal strengths,distances, and angles for the at least two beam steering directionsaccording to the calculated signal strengths and calculated distances.In some embodiments, the method comprises: discarding, from the vector,data associated with the beam steering directions with longestcalculated distances. In some embodiments, the method comprises:identifying, from the vector, the angle with the strongest signalstrength; and determining a distance from the device according to theidentified angle.

In some embodiments, the method comprises: providing the determineddistance to a terminal device. In some embodiments, each of the at leasttwo first and second probe response messages includes: a probe requestreception time; and a probe response transmission time. In someembodiments, each of the at least two first probe request messagesincludes an encoding of a beam steering direction. In some embodiments,the method comprises: encoding the at least two first probe requestmessages prior to transmitting.

In another example, an apparatus is provided which comprises: means forsequentially transmitting, in a first mode, at least two first proberequest messages in at least two beam steering directions, respectively,towards a device; and means for receiving, from the device, at least twofirst probe response messages in response to transmitting the at leasttwo first probe request messages. In some embodiments, the apparatuscomprises: means for determining time-of-flights (TOFs) for the at leasttwo first probe response messages; and means for calculating distancestraveled by the at least two first probe response messages.

In some embodiments, the apparatus comprises: means for listening,during a second mode, for at least two second probe request messagesfrom the device; and means for calculating signal strengths of each ofthe at least two second probe request messages transmitted from thedevice. In some embodiments, the apparatus comprises: means forgenerating a vector of signal strengths, distances, and angles for theat least two beam steering directions according to the calculated signalstrengths and calculated distances.

In some embodiments, the apparatus comprises: means for discarding, fromthe vector, data associated with the beam steering directions withlongest calculated distances. In some embodiments, the apparatuscomprises: means for identifying, from the vector, the angle with thestrongest signal strength; and means for determining a distance from thedevice according to the identified angle. In some embodiments, theapparatus comprises: means for providing the determined distance to aterminal device. In some embodiments, each of the at least two first andsecond probe response messages includes: a probe request reception time;and a probe response transmission time.

In some embodiments, each of the at least two first probe requestmessages includes an encoding of a beam steering direction. In someembodiments, the apparatus comprises: means for encoding the at leasttwo first probe request messages prior to transmitting.

An abstract is provided that will allow the reader to ascertain thenature and gist of the technical disclosure. The abstract is submittedwith the understanding that it will not be used to limit the scope ormeaning of the claims. The following claims are hereby incorporated intothe detailed description, with each claim standing on its own as aseparate embodiment.

We claim:
 1. A machine-readable storage media having instructions storedthereon, that when executed, cause one or more processors to perform anoperation comprising: sequentially transmit, in a first mode, at leasttwo first probe request messages in at least two beam steeringdirections, respectively, towards a device; and receive, from thedevice, at least two first probe response messages in response totransmitting the at least two first probe request messages.
 2. Themachine-readable storage media of claim 1 having further instructionsstored thereon, that when executed, cause the one or more processors toperform a further operation comprising: determine time-of-flights (TOFs)for the at least two first probe response messages; and calculatedistances traveled by the at least two first probe response messages. 3.The machine-readable storage media of claim 2 having furtherinstructions stored thereon, that when executed, cause the one or moreprocessors to perform a further operation comprising: listen, during asecond mode, for at least two second probe request messages from thedevice; and calculate signal strengths of each of the at least twosecond probe request messages transmitted from the device.
 4. Themachine-readable storage media of claim 3 having further instructionsstored thereon, that when executed, cause the one or more processors toperform a further operation comprising: generate a vector of signalstrengths, distances, and angles for the at least two beam steeringdirections according to the calculated signal strengths and calculateddistances.
 5. The machine-readable storage media of claim 4 havingfurther instructions stored thereon, that when executed, cause the oneor more processors to perform a further operation comprising:discarding, from the vector, data associated with the beam steeringdirections with longest calculated distances.
 6. The machine-readablestorage media of claim 5 having further instructions stored thereon,that when executed, cause the one or more processors to perform afurther operation comprising: identify, from the vector, the angle withthe strongest signal strength; and determine a distance from the deviceaccording to the identified angle.
 7. The machine-readable storage mediaof claim 6 having further instructions stored thereon, that whenexecuted, cause the one or more processors to perform a furtheroperation comprising: provide the determined distance to a terminaldevice.
 8. The machine-readable storage media of claim 1, wherein eachof the at least two first and second probe response messages includes: aprobe request reception time; and a probe response transmission time. 9.The machine-readable storage media of claim 1, wherein each of the atleast two first probe request messages includes an encoding of a beamsteering direction.
 10. The machine-readable storage media of claim 1having further instructions stored thereon, that when executed, causethe one or more processors to perform a further operation comprising:encode the at least two first probe request messages prior totransmitting.
 11. An apparatus comprising: an array of antennas which isoperable to sequentially transmit, in a first mode, first probe requestmessages in a number of beam steering directions to a device, whereineach first probe request message includes an encoding of correspondingbeam steering direction from the number of beam steering directions, anOmni-antenna to listen, in a second mode, for a second probe requestmessages transmitted by the device; a receiver to receive at least twofirst probe response messages in response to sequentially transmittingthe at least two first probe request messages; and logic to generate avector of signal strengths, distances, and angles for each beam steeringdirection according to information in the at least two first proberesponse messages and the first and second probe request messages. 12.The apparatus of claim 11 comprises an encoder to encode the beamsteering direction.
 13. The apparatus of claim 11, wherein the logic isoperable to: determine time-of-flights (TOFs) for the at least two firstprobe response messages; and calculate distances traveled by the atleast two first probe response messages.
 14. The apparatus of claim 11comprises logic to change phase input to the array of antennas to changethe beam steering direction.
 15. The apparatus of claim 11, wherein eachof the at least two first and second probe response messages includes: aprobe request reception time; and a probe response transmission time.16. The apparatus of claim 11, wherein the first and second proberesponse messages are Wireless Gigabit Alliance (WiGig) compliantmessages.
 17. A system comprising: a first sensor; and a second sensor,wherein the second sensor includes: an array of antennas which isoperable to sequentially transmit, in a first mode, first probe requestmessages in each array direction to a device, wherein each of the firstprobe request messages includes an encoding of a corresponding arraydirection, an Omni-antenna to listen, in a second mode, for a secondprobe request messages transmitted by the device; a receiver to receiveat least two first probe response messages in response to sequentiallytransmitting the at least two first probe request messages; and logic togenerate a vector of signal strengths, distances, and angles between thesecond sensor and the device according to information in the at leasttwo first probe response messages and the first and second probe requestmessages, wherein the array of antennas and Omni-antenna of the firstsensor operate in a different frequency channel than array of antennasand Omni-antenna of the second sensor.
 18. The system of claim 17,wherein the first sensor includes: an array of antennas which isoperable to sequentially transmit, in a first mode, first probe requestmessages in each array direction to the other device, wherein each ofthe first probe request messages includes an encoding of a correspondingarray direction, and an Omni-antenna to listen, in a second mode, forsecond probe request messages transmitted by the other device; areceiver to receive at least two first probe response messages inresponse to sequentially transmitting the at least two first proberequest messages; and logic to generate the vector of signal strengths,distances, and angles between the first sensor and the other deviceaccording to information in the at least two first probe responsemessages and the first and second probe request messages.
 19. The systemof claim 17, wherein the first and second sensors are configured in asingle wearable device.
 20. The system of claim 17, wherein the firstand second sensors operate using Wireless Gigabit Alliance (WiGig)technology.